home *** CD-ROM | disk | FTP | other *** search
/ QuickTime VR Showcase / QuickTime VR Showcase.iso / 2.0ß Examples / VR Speech / LMSpeech.h < prev    next >
Encoding:
Text File  |  1996-12-05  |  2.9 KB  |  125 lines  |  [TEXT/R*ch]

  1. // LMSpeech.h
  2. // header file and language model BNF for QuickTime VR movies
  3.  
  4. #define    kTopVRLM                    50
  5.  
  6. #define    kVRAllCmd                    100
  7. #define    kVRObjCmd                    101
  8. #define    kVRPnoCmd                    102
  9.  
  10. #define    kMoveDirAndDeg                500
  11. #define    kMoveDirAndRad                501
  12. #define kMoveToNode                    502
  13. #define kZoomDir                    503
  14. #define kSpinStart                    504
  15. #define kSpinStop                    505
  16.  
  17. // directions
  18. #define kDir                        1000
  19. #define kDirUp                        1001
  20. #define kDirDown                    1002
  21. #define kDirLeft                    1003
  22. #define kDirRight                    1004
  23. #define kDirIn                        1005
  24. #define kDirOut                        1006
  25.  
  26. // angular displacements
  27. #define kDeg                        1050
  28. #define kAng45                        1051
  29. #define kAng90                        1052
  30. #define kAng135                        1053
  31. #define kAng180                        1054
  32. #define kAng225                        1055
  33. #define kAng270                        1056
  34. #define kAng315                        1057
  35. #define kAng10                        1058
  36. #define kAng36                        1059
  37. #define kUndefinedDegrees            5000
  38.  
  39. // radian displacements
  40. #define kRad                        1060
  41. #define kRad1PiOver4                1061
  42. #define kRad2PiOver4                1062
  43. #define kRad3PiOver4                1063
  44. #define kRad4PiOver4                1064
  45. #define kRad5PiOver4                1065
  46. #define kRad6PiOver4                1066
  47. #define kRad7PiOver4                1067
  48.  
  49. // node descriptors
  50. #define kNodeIDNo                    1070
  51. #define kNodeName                    1071
  52.  
  53. #define kZoom                        200
  54. #define kBAR                        300
  55.  
  56. // here is the BNF description of our language models:
  57. //<TopVRLM> {kTopVRLM} = <VRAllLM> | <VRObjLM> | <VRPnoLM>;
  58. //<VRObjLM> {kSRRefCon = kVRObjCmd} = 
  59. //            FOO;
  60. //            
  61. //<VRPnoLM> {kSRRefCon = kVRPnoCmd} = 
  62. //            BAR;
  63.  
  64. /*
  65.             
  66. <VRAllLM> {kSRRefCon = kVRAllCmd} = 
  67.             <MoveCmd> <MoveDir> <MoveDeg> [degrees]    {kMoveDirAndDeg}    |
  68.             <MoveCmd> <MoveDir> <MoveRad> [radians]    {kMoveDirAndRad}    |
  69.             <MoveCmd> [to] node <NodeDesc>            {kMoveToNode}        |
  70.             <ZoomCmd> <ZoomDir>                        {kZoomDir}            |
  71.             spin <MoveDir>                            {kSpinStart}        |
  72.             stop [spinning]                            {kSpinStop}            ;
  73.  
  74.  
  75. <MoveCmd>  =
  76.             go | move | pan | tilt;
  77.             
  78. <MoveDir> {kDir} = 
  79.             up                    {kDirUp}           | 
  80.             down                {kDirDown}        | 
  81.             left                {kDirLeft}        | 
  82.             right                {kDirRight}        ;                        
  83.  
  84. <MoveDeg> {kDeg} = 
  85.             ten                    {kAng10}          |
  86.             thirty-six            {kAng36}          |                
  87.             forty-five            {kAng45}          | 
  88.             ninety                {kAng90}          | 
  89.             one thirty-five        {kAng135}         | 
  90.             one eighty            {kAng180}         |
  91.             two twenty-five        {kAng225}         |
  92.             two seventy            {kAng270}        | 
  93.             three fifteen        {kAng315}         ;
  94.  
  95. <MoveRad> {kRad}
  96.             = pi over four        {kRad1PiOver4}    | 
  97.             pi over two            {kRad2PiOver4}    | 
  98.             three pi over four    {kRad3PiOver4}    | 
  99.             pi                    {kRad4PiOver4}    |
  100.             five pi over four    {kRad5PiOver4}    | 
  101.             three pi over two    {kRad6PiOver4}    |
  102.             seven pi over four    {kRad7PiOver4}    ; 
  103.  
  104. <ZoomCmd> {kSRRefCon = kZoom; kSROptional = true} =
  105.             zoom | go | move;
  106.  
  107. <ZoomDir> = in                    {kDirIn}        | 
  108.             out                    {kDirOut}         | 
  109.             forward                {kDirIn}         | 
  110.             backward            {kDirOut}         | 
  111.             closer                {kDirIn}         | 
  112.             farther                {kDirOut}        ;                        
  113.  
  114. <NodeDesc> = 
  115.             <NodeIDNo> | <NodeName>;
  116.  
  117. <NodeIDNo> {kNodeIDNo} =    
  118.             one | two | three | four | five | six | seven | eight | nine ;
  119.             
  120. <NodeName> {kNodeName} = 
  121.             sample node name;
  122.  
  123.  
  124. */
  125.